Management, allocation and scheduling of heterogeneous resources for complex distributed real-time applications is a chal-\udlenging problem. Timing constraints of applications may be fulfilled by a proper use of real-time scheduling policies, admission\udcontrol and enforcement of timing constraints. However, it is not easy to design basic infrastructure services that allow for an easy\udaccess to the allocation of multiple heterogeneous resources in a distributed environment.\udIn this paper, we present a middleware for providing distributed soft real-time applications with a uniform API for reserving\udheterogeneous resources with real-time scheduling capabilities in a distributed environment. The architecture relies on standard\udPOSIX OS facilities, such as time management and standard TCP/IP networking services, and it is designed around CORBA, in\udorder to facilitate modularity, flexibility and portability of the applications using it. However, real-time scheduling is supported\udby proper extensions at the kernel-level, plugged within the framework by means of dedicated resource managers. Our current implementation on Linux supports reservation of CPU, disk and network bandwidth. However, additional resource managers supporting alternative real-time schedulers for these resources, as well as additional types of resources, may be easily added.\udWe present experimental results gathered on both synthetic applications and a real multimedia video streaming case study, showing advantages deriving from the use of the proposed middleware. Finally, overhead figures are reported, showing sustainability of the approach for a wide class of complex, distributed, soft real-time applications.
展开▼